/*
 * funcionesConsola.c
 *
 *  Created on: 28/11/2011
 *      Author: utn_so
 */

#include "../../headers/GlobalHeader.h"

extern pthread_mutex_t mutexListaPedidos;
extern Nodo *lista_pedidos;
extern NodoNstep *fin_lista_pedidosnstep;
extern NodoNstep *lista_pedidosnstep;
extern sem_t *sem_lista;
extern struct_config configuracion;
//extern PPD_CHS posicionActualCabezal, posicionAnterior;
extern int32_t cantidadTotalPedidos;
extern t_log *logger;
extern PPD_CHS proximoSectorPlanifico;
extern int32_t sizeCola, sizeListaNSTEP;

int32_t proximoSectorAPlanificar()
{
	t_pedido structDelProcesoObtenido;
	int32_t nextSector;

	if((sizeCola == 0) && (sizeListaNSTEP == 0))
	{
		structDelProcesoObtenido.direccionSector = -1;
		return structDelProcesoObtenido.direccionSector;
	}
	else
	{
		nextSector = ppd_CHStoLBA(proximoSectorPlanifico);
		return nextSector;
	}
}

t_pedido armoPedidoAPlanificar(int32_t sector, char tipo)
{
	t_pedido structPlanifico;

	switch (tipo)
	{
	case 'L' :
		structPlanifico.conexion_pfs_id = PEDIDO_CONSOLA;
		structPlanifico.direccionSector = sector;
		structPlanifico.lectura_o_escritura = tipo;

		break;
	case 'E':
		structPlanifico.conexion_pfs_id = PEDIDO_CONSOLA;
		structPlanifico.direccionSector = sector;
		structPlanifico.lectura_o_escritura = tipo;
		strcpy(structPlanifico.info,charLimpio());

		break;
	}

	return structPlanifico;
}


